
# 字典
"""
说明 ：
    1. 它是一个可变化的对象 ，是一个无序序列 。
    2. 它里面的元素也可以支持增删改查 ，也有很多的方法
    3. 每一对是有键值对组成 。

定义 ：
    变量名 = {key1:value1,key2:value2,...}
"""

dct1 = {}
dct2 = {"status": 1, "msg": "登陆成功",
        "result": {"user_id": 2636, "email": "", "password": "519475228fe35ad067744465c42a19b2",
                   "paypwd": "519475228fe35ad067744465c42a19b2", "sex": 0, "birthday": 0, "user_money": "12000.00",
                   "frozen_money": "0.00", "distribut_money": "0.00", "underling_number": 0, "pay_points": 8000,
                   "address_id": 0, "reg_time": 1677724631, "last_login": 1677724631, "last_ip": "", "qq": "",
                   "mobile": "13988888888", "mobile_validated": 1, "oauth": "", "openid": None, "unionid": None,
                   "head_pic": None, "province": 0, "city": 0, "district": 0, "email_validated": 0,
                   "nickname": "13988888888", "level": 1, "discount": "1.00", "total_amount": "8817.01", "is_lock": 0,
                   "is_distribut": 1, "first_leader": 0, "second_leader": 0, "third_leader": 0,
                   "token": "777a33fe62c8765a7aa392229b250b1a", "message_mask": 63, "push_id": "0",
                   "distribut_level": 0, "level_name": "注册会员"}, "url": ""}

print(dct1)
print(dct2)
from requests import Session

# 通过索引完成如下操作：
    # 1） 获取 ：dict[键名]   : 获取到该键名所对应的值 。
print("获取status的值:",dct2['status'])
print("获取msg的值:",dct2['msg'])

# 思考 ：获取user_id
print("获取user_id:",dct2['result']['user_id'])   # 若没有此键会报错

    # 2）更新值 ：dict[键名] = 新值 , 这个key在字典中
dct2['msg'] = '登录成功！'
print(dct2)

    # 3）赋值  ：dict[键名] = 新值 , 这个key不在字典中
dct2['login_time'] = '2023-5-29'
print(dct2)

# 练习1 ： 通过方法获取user_id
print("获取user_id的值:",dct2.get('result').get('user_id'))
print("获取user_id的值:",dct2.get('result').get('userid'))  # 若没有此键名，返回None

# 练习2 ： 打印所有字典中的键
print(dct2.keys())
for x in dct2.keys():
    print(x)
print("=========")
# 练习3 ： 打印所有字典中的值
print(dct2.values())
for x in dct2.values():
    print(x)

# 练习4 ： 判断键名message是否在字典中
print('message' in dct2)
print('msg' in dct2)

print('-------------------------')
# 练习5 ： 循环每个键值对
for key,value in dct2.items():
    print("键名:",key,"====","value:",value)



